package com.fishery.base.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fishery.base.entity.SupplyOut;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fishery.base.entity.vo.BaseSupplyAccessVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 投入品出库管理服务类
 * </p>
 *
 * @author Ghost
 * @since 2021-01-15
 */
public interface SupplyOutService extends IService<SupplyOut> {

	/**
	 * 修改投入品出库记录
	 *
	 * @param supplyOut
	 * @return
	 */
	boolean updateSupplyOutRecords(SupplyOut supplyOut);

	/**
	 * 根据基地ID、投入品ID分页获取某种投入品的出库信息
	 *
	 * @param baseId
	 * @param supplyId
	 * @param size
	 * @param current
	 * @return
	 */
	Page<SupplyOut> pageSupplyOutRecords(String baseId, String supplyId, int size, int current);

	/**
	 * 根据基地ID分页获取投入品的出库信息
	 *
	 * @param baseId
	 * @param size
	 * @param current
	 * @return
	 */
	Page<SupplyOut> pageSupplyOutRecords(String baseId, int size, int current);

	/**
	 * 创建投入品出库信息
	 *
	 * @param supplyOut
	 * @return
	 */
	boolean createSupplyOutRecords(SupplyOut supplyOut);


	/**
	 * 将投入品出库记录以Excel文件格式导出
	 *
	 * @param response
	 * @param baseId
	 */
	void getSupplyOutRecordsByExcel(HttpServletResponse response, String baseId);

	/**
	 * 通过基地ID获取投入品的出库数量信息
	 *
	 * @param baseId
	 * @return
	 */
	List<BaseSupplyAccessVo> getAmountInfoOfBaseSupplyOut(String baseId);
}
